#ifndef PNP_SOLVER_H
#define PNP_SOLVER_H

#include <opencv2/opencv.hpp>
#include "armor.h"

class PnPSolver {
public:
    PnPSolver();
    bool loadCameraParams(const std::string& config_path);
    bool solvePnP(Armor& armor);
    
private:
    cv::Mat camera_matrix_;
    cv::Mat dist_coeffs_;
    
    // 装甲板3D点 (左灯条上中下，右灯条上中下)
    std::vector<cv::Point3f> small_armor_points_;
    std::vector<cv::Point3f> large_armor_points_;
};

#endif